package com.qijian.maindata.domain.query;

import com.baomidou.mybatisplus.annotation.TableName;
import com.qijian.common.utils.mybatis.WhereType;
import com.qijian.common.utils.mybatis.WhereTypeEnum;
import lombok.Data;
import lombok.ToString;

import java.math.BigDecimal;
import java.util.List;
import java.util.Set;


/**
 * 工艺对象 查询条件类
 *
 * @author qijian
 * @date 2021-09-03
 */

@Data
@ToString
@TableName("main_line_process")
public class LineProcessQuery {

    @WhereType(filed = "process_id")
    private Long processId;
    @WhereType(filed = "process_id", type = WhereTypeEnum.IN)
    private Set<Long> ids;
    @WhereType(filed = "process_id", type = WhereTypeEnum.NOTIN)
    private Set<Long> idsNot;
    @WhereType(filed = "line_id")
    private Long lineId;
    @WhereType(filed = "line_id", type = WhereTypeEnum.NOTNULL)
    private Boolean lineIdIsNotNull;
    @WhereType(filed = "line_id", type = WhereTypeEnum.IN)
    private Set<Long> lineIds;
    @WhereType(filed = "line_code")
    private String lineCode;
    @WhereType(filed = "process_code", type = WhereTypeEnum.LIKE)
    private String processCode;
    @WhereType(filed = "process_name", type = WhereTypeEnum.LIKE)
    private String processName;
    @WhereType(filed = "report_mode")
    private String reportMode;
    @WhereType(filed = "process_type")
    private String processType;
    @WhereType(filed = "process_type_name", type = WhereTypeEnum.LIKE)
    private String processTypeName;
    @WhereType(filed = "wait_time")
    private BigDecimal waitTime;
    @WhereType(filed = "work_time")
    private BigDecimal workTime;
    @WhereType(filed = "scheme_id")
    private Long schemeId;
    @WhereType(filed = "scheme_id", type = WhereTypeEnum.IN)
    private List<Long> schemeIds;
    @WhereType(filed = "scheme_name")
    private String schemeName;
    @WhereType(filed = "process_file")
    private String processFile;
    @WhereType(filed = "sort", sort = true, sortType = WhereTypeEnum.ASC)
    private Integer sort;
    @WhereType(filed = "plan_system")
    private String planSystem;
    @WhereType(filed = "is_default")
    private Boolean isDefault;
    @WhereType(filed = "is_out")
    private Boolean isOut;
    @WhereType(filed = "bom_id", tableName = "main_bom_detail")
    private Long bomId;
    @WhereType(filed = "create_id")
    private Long createId;
    @WhereType(filed = "create_time", type = WhereTypeEnum.BETWEEN)
    private List<String> createTimeList;
    @WhereType(filed = "create_by", type = WhereTypeEnum.LIKE)
    private String createBy;
    @WhereType(filed = "itemCode", tableName = "main_item", type = WhereTypeEnum.LIKE)
    private String itemCode;
    @WhereType(filed = "itemName", tableName = "main_item", type = WhereTypeEnum.LIKE)
    private String itemName;
}
